package com.briup.xml;

import org.dom4j.Comment;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import java.io.FileWriter;
import java.io.IOException;

/**
 * 使用Dom4j 创建Document  对象 并输出xml
 */
public class Dom4jCreateDocument {
    public static void main(String[] args) {
        //使用帮助类  创建document对象
        Document document = DocumentHelper.createDocument();
        //创建元素
        Element students = DocumentHelper.createElement("students");
        //创建注释元素
        Comment comment = DocumentHelper.createComment("这是学生小组信息  欢天喜地无仙女组");
        //创建元素并指定关联关系
        for (int i = 0; i < 5; i++) {
            Element student = students.addElement("student");
            //创建属性并指定关联关系
            Element id = student.addAttribute("id", "2021131020" + (i + 1));
            //创建普通元素
            Element name = student.addElement("name");
            name.setText("stu" + (i + 1));
            Element age = student.addElement("age");
            age.setText("20");
        }
        //为元素指定关联关系
        students.add(comment);
        //为文档设置根节点
        document.setRootElement(students);
        //为document对象设置编码格式
        document.setXMLEncoding("GBK");
//将文档对象转成字符串
        String s = document.asXML();
        System.out.println(s);
        //输出文档到本地文件
        try {
            FileWriter fw = new FileWriter("C:\\Users\\sxx\\IdeaProjects\\bttc-java-basic-code\\02code\\src\\com\\briup\\xml\\file\\group.xml");
            //创建包装流 并指定输出样式
            XMLWriter writer = new XMLWriter(fw, OutputFormat.createPrettyPrint());
            writer.write(document);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}
